package com.minimalist.common.entity.basic.vo.dept;

import com.minimalist.common.config.swagger.SchemaEnum;
import com.minimalist.common.entity.basic.enums.StatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Objects;

@Schema(name = "部门查询实体")
public class DeptQueryVO implements Serializable{

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(name = "deptName", description = "部门名称", type = "string")
    private String deptName;

    @SchemaEnum(implementation = StatusEnum.class)
    @Schema(name = "status", description = "部门状态", type = "integer")
    private Integer status;

    // Getter和Setter方法
    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DeptQueryVO that = (DeptQueryVO) o;
        return Objects.equals(deptName, that.deptName) &&
                Objects.equals(status, that.status);
    }

    @Override
    public int hashCode() {
        return Objects.hash(deptName, status);
    }

    @Override
    public String toString() {
        return "DeptQueryVO{" +
                "deptName='" + deptName + '\'' +
                ", status=" + status +
                '}';
    }
}
